package com.lekang.controller;

import com.lekang.common.core.domain.AjaxResult;
import com.lekang.dto.BindFamilyDto;
import com.lekang.service.IBindFamilyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @ClassName BandFamily
 * @Description TODO
 * @Author wangjinyuan
 * @Date 2025年10月23日 16:42
 * @Version 1.0
 */
@RestController
@RequestMapping("/bindFamily")
public class BindFamilyController {
    @Autowired
    private IBindFamilyService bindFamilyService;
    /**
     * 新增家属绑定（核心接口：接收前端传递的姓名、身份证号、关系、微信用户ID）
     */
    @PostMapping("/add")
    public AjaxResult add(@Validated @RequestBody BindFamilyDto bindFamilyDto) {
        System.out.println("接收的完整DTO：" + bindFamilyDto.toString());
        // 调用Service层执行绑定逻辑（如校验老人、创建绑定关系等）
        String result = bindFamilyService.bindElderlyToFamily(bindFamilyDto);
        if ("绑定成功".equals(result)) {
            return AjaxResult.success("家属绑定成功");
        } else if ("当前老人未入住".equals(result)) {
            return AjaxResult.error("当前老人未入住，请先入住");
        } else if ("用户已绑定该老人".equals(result)) {
            return AjaxResult.error("用户已绑定该老人，请勿重新绑定");
        } else {
            return AjaxResult.error("家属绑定失败，请重试");
        }
    }
    /**
     * 解绑老人到家庭成员
     * @param bindFamilyDto 解绑老人到家庭成员DTO
     * @return 解绑结果
     */
    @PostMapping("/remove")
    public AjaxResult remove(@Validated @RequestBody BindFamilyDto bindFamilyDto) {
        System.out.println("接收的完整DTO：" + bindFamilyDto.toString());
        // 调用Service层执行解绑逻辑（如校验老人、删除绑定关系等）
        String result = bindFamilyService.unbindElderlyFromFamily(bindFamilyDto);
            return AjaxResult.success(result);
    }
}
